package cn.psvmc.cxzapi.model.customer;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 客户认证表
 * @Author auto
 * @Date 2024-08-12
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_customer_auth")
public class TCustomerAuth implements Serializable {

    @Serial
    private static final long serialVersionUID = -6649519370435626864L;
    //客户认证id
    @TableId(value = "caid", type = IdType.AUTO)
    private Integer caid;

    //客户id
    @TableField("customerid")
    private Integer customerid;

    //身份证正面
    @TableField("front")
    private String front;

    //身份证背面
    @TableField("back")
    private String back;

    @TableField("name")
    private String name; //姓名
    @TableField("sex")
    private String sex; //性别
    @TableField("ethnicity")
    private String ethnicity; //民族
    @TableField("birth_date")
    private String birthDate; //出生日期
    @TableField("address")
    private String address; //住址
    @TableField("id_number")
    private String idNumber; //身份证号码
    @TableField("issue_authority")
    private String issueAuthority; //签发机关
    @TableField("valid_period")
    private String validPeriod; //有效期限

    @TableField("emergency_contact_name")
    private String emergencyContactName; //紧急联系人
    @TableField("emergency_contact_phone")
    private String emergencyContactPhone; //紧急联系人电话

    @TableField("emergency_contact_name2")
    private String emergencyContactName2; //紧急联系人2
    @TableField("emergency_contact_phone2")
    private String emergencyContactPhone2; //紧急联系人电话2

    @TableField("in_real_name")
    private String inRealName; //输入真实姓名
    @TableField("in_id_number")
    private String inIdNumber; //输入身份证号码
    @TableField("occupation")
    private String occupation; //职业
    @TableField("income_proof")
    private String incomeProof;//收入证明
    @TableField("employment_proof")
    private String employmentProof;//工作证明
    @TableField("alipay_sesame_credit_score")
    private String alipaySesameCreditScore;//支付宝芝麻信用分截图或录屏
    @TableField("other")
    private String other; //其他
    @TableField("in_customer_auth")
    private Integer inCustomerAuth;//输入认证状态（0未认证 1已认证）

    //创建人id
    @TableField(value = "createid", fill = FieldFill.INSERT)
    private Integer createid;

    //创建时间
    @TableField(value = "createtime", fill = FieldFill.INSERT)
    private LocalDateTime createtime;

    //操作人id
    @TableField(value = "updateid", fill = FieldFill.INSERT_UPDATE)
    private Integer updateid;

    //操作时间
    @TableField(value = "updatetime", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updatetime;

    //文件
    @TableField(exist = false)
    private List<TCustomerAuthFile> files;

    //文件类型（1身份证正面 2身份证背面）
    @TableField(exist = false)
    private Integer type;

    //订单id
    @TableField(exist = false)
    private Integer orderId;

    //订单号
    @TableField(exist = false)
    private String orderCode;


}
